package com.stylefeng.guns.common.persistence.model;

import java.io.Serializable;

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.baomidou.mybatisplus.enums.IdType;
import java.math.BigDecimal;
import java.util.Date;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableName;
import com.stylefeng.guns.common.annotion.EmpCode;
import com.stylefeng.guns.common.annotion.Point;
import com.stylefeng.guns.common.annotion.PointType;
import com.stylefeng.guns.common.annotion.Year;
import com.stylefeng.guns.common.constant.PointConstType;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;

/**
 * <p>
 * 职业资格
 * </p>
 *
 * @author jondai
 * @since 2018-02-24
 */
@PointType(PointConstType.proqualifyTrainPoints)
@TableName("proqualify_train_points")
public class ProqualifyTrainPoints extends Model<ProqualifyTrainPoints> {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
	@TableId(value="id", type= IdType.UUID)
	private String id;
	/**
	 * 年度
	 */
	@TableField("year")
	@Excel(name = "年度",width = 20)
	@Year
	private String year;
	/**
	 * 员工编号
	 */
	@EmpCode
	@TableField("emp_code")
	@Excel(name = "员工编号",width = 20)
	private String empCode;
    /**
     * 员工姓名
     */
	@TableField("emp_name")
	@Excel(name = "员工姓名",width = 20)
	private String empName;
	/**
	 * 技能鉴定工种
	 */
	@Excel(name = "技能鉴定工种",width = 30)
	@TableField("pro_work")
	private String proWork;
    /**
     * 职业资格等级
     */
	@Excel(name = "职业资格等级",width = 20)
	@TableField("qualify_level")
	private String qualifyLevel;
	/**
	 * 鉴定机构
	 */
	@Excel(name = "鉴定机构",width = 20)
	private String agency;
	/**
	 * 证书编号
	 */
	@Excel(name = "证书编号",width = 20)
	@TableField("cer_number")
	private String cerNumber;
	/**
	 * 批准单位
	 */
	@Excel(name = "批准单位",width = 20)
	@TableField("approval_unit")
	private String approvalUnit;
	/**
	 * 批准文件
	 */
	@Excel(name = "批准文件",width = 20)
	@TableField("approval_doc")
	private String approvalDoc;
	/**
	 * 发文日期
	 */
	@Excel(name = "发文日期", databaseFormat = "yyyy-MM-dd", format = "yyyy-MM-dd",width = 20)
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	private Date dispatch;
    /**
     * 职业资格等级编码
     */
	@TableField("qualify_level_code")
	private String qualifyLevelCode;
    /**
     * 取得方式
     */
	@TableField("get_way")
	@Excel(name = "取得方式",width = 20)
	private String getWay;
	/**
	 * 技能鉴定工种是否与现岗位一致
	 */
	@Excel(name = "技能鉴定工种是否与现岗位一致",width = 30)
	private String isSame;
    /**
     * 积分
     */
	@Point
	@Excel(name = "积分",width = 15)
	private Double integral;
    /**
     * 创建时间
     */
	@TableField("create_time")
	private Date createTime;
    /**
     * 数据来源
     */
	@TableField("data_origin")
	private String dataOrigin;


	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getEmpName() {
		return empName;
	}

	public void setEmpName(String empName) {
		this.empName = empName;
	}

	public String getEmpCode() {
		return empCode;
	}

	public void setEmpCode(String empCode) {
		this.empCode = empCode;
	}

	public String getQualifyLevel() {
		return qualifyLevel;
	}

	public void setQualifyLevel(String qualifyLevel) {
		this.qualifyLevel = qualifyLevel;
	}

	public String getQualifyLevelCode() {
		return qualifyLevelCode;
	}

	public void setQualifyLevelCode(String qualifyLevelCode) {
		this.qualifyLevelCode = qualifyLevelCode;
	}

	public String getGetWay() {
		return getWay;
	}

	public void setGetWay(String getWay) {
		this.getWay = getWay;
	}

	public String getYear() {
		return year;
	}

	public void setYear(String year) {
		this.year = year;
	}

	public Double getIntegral() {
		return integral;
	}

	public void setIntegral(Double integral) {
		this.integral = integral;
	}

	public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	public String getDataOrigin() {
		return dataOrigin;
	}

	public void setDataOrigin(String dataOrigin) {
		this.dataOrigin = dataOrigin;
	}

	public String getProWork() {
		return proWork;
	}

	public void setProWork(String proWork) {
		this.proWork = proWork;
	}

	public String getAgency() {
		return agency;
	}

	public void setAgency(String agency) {
		this.agency = agency;
	}

	public String getCerNumber() {
		return cerNumber;
	}

	public void setCerNumber(String cerNumber) {
		this.cerNumber = cerNumber;
	}

	public String getApprovalUnit() {
		return approvalUnit;
	}

	public void setApprovalUnit(String approvalUnit) {
		this.approvalUnit = approvalUnit;
	}

	public String getApprovalDoc() {
		return approvalDoc;
	}

	public void setApprovalDoc(String approvalDoc) {
		this.approvalDoc = approvalDoc;
	}

	public Date getDispatch() {
		return dispatch;
	}

	public void setDispatch(Date dispatch) {
		this.dispatch = dispatch;
	}

	public String getIsSame() {
		return isSame;
	}

	public void setIsSame(String isSame) {
		this.isSame = isSame;
	}

	@Override
	protected Serializable pkVal() {
		return this.id;
	}

	@Override
	public String toString() {
		return "ProqualifyTrainPoints{" +
			"id=" + id +
			", empName=" + empName +
			", empCode=" + empCode +
			", qualifyLevel=" + qualifyLevel +
			", qualifyLevelCode=" + qualifyLevelCode +
			", getWay=" + getWay +
			", integral=" + integral +
			", createTime=" + createTime +
			", dataOrigin=" + dataOrigin +
			", proWork=" + proWork +
			", agency=" + agency +
			", cerNumber=" + cerNumber +
			", approvalUnit=" + approvalUnit +
			", approvalDoc=" + approvalDoc +
			", dispatch=" + dispatch +
			", isSame=" + isSame +
			"}";
	}
}
